/*
* 
* Fichier source projet intel Acceler8 sous license GNU GPL v3.
* Voir http://www.gnu.org/copyleft/gpl.html pour plus d'informations
* La license est egalement disponible dans le repertoire /doc
* 
* Cree le : mardi 08 novembre 2011 à 20 : 23.
* Auteurs : Axel MOINET et Arnaud DURAND.
* 
* Nom de fichier : filtrelectureligne.cpp
* Chemin du fichier : ./src/classes/filtrelectureligne/filtrelectureligne.cpp
* 
* Description : Classe d'implémentation de lecture d'une ligne dans le fichier.
* 			Filtre utilisé par le pipeline de lecture du fichier.
* 
*/

#include "filtrelectureligne.h"

filtreLectureLigne::filtreLectureLigne() : tbb::filter(serial_in_order) {

}

filtreLectureLigne::filtreLectureLigne(readLine *p_reader) : tbb::filter(serial_in_order) {
	if(p_reader == NULL){
		//Lancer une exception
	}
	else{
		this->reader = p_reader;
	}
}

void* filtreLectureLigne::operator ()(void*) {
	if(this->reader == NULL)
		return NULL;
	else {
		this->values = new struct lineReader;
		this->values->ligneLue = this->reader->readLineFct();
		if(this->values->ligneLue == NULL) {
			return NULL;
		}
		this->values->nbligne = this->reader->getNbLines();
		return this->values;
	}
}
